package gis.lifay.sdk.geoserver;

/**
 *@ClassName GeoServerManager
 *@Description TODO
 *@Author lifay
 *@Date 2021/11/2 15:52
 **/
public class GeoServerManager {
//    //  加强geoserver publisher
//    private final ImproveGeoServerPublisher geoServerRESTPublisher;
//    //  geoserver REST 管理者
//    private final GeoServerRESTManager geoServerRESTManager;
//    //  geoserver REST 阅读者
//    private final GeoServerReader reader;
//
//    /**
//     * 直接提供 geoserver 地址，用户名，密码为默认的： admin/geoserver
//     *
//     * @param restUrl geoserver 服务地址
//     * @throws MalformedURLException 服务地址错误
//     */
//    public GeoServerManager(String restUrl) throws MalformedURLException {
//        this(restUrl, "admin", "geoserver");
//    }
//
//    /**
//     * 提供 geoserver 服务地址和用户名、密码
//     *
//     * @param restUrl  geoserver 服务地址
//     * @param userName geoserver登录用户名
//     * @param password geoserver 密码
//     * @throws MalformedURLException 服务地址或登录失败错误
//     */
//    public GeoServerManager(String restUrl, String userName, String password) throws MalformedURLException {
//        geoServerRESTPublisher = new ImproveGeoServerPublisher(restUrl, userName, password);
//        geoServerRESTManager = new GeoServerRESTManager(new URL(restUrl), userName, password);
//        reader = new GeoServerReader(restUrl, userName, password);
//    }
//    /**
//     * 创建工作空间
//     *
//     * @param workspaceName 工作空间名称
//     * @return 是否创建成功
//     * @throws ExistedException 工作空间已存在
//     */
//    public Boolean createWorkspace(String workspaceName) throws ExistedException {
//        if (reader.existsWorkspace(workspaceName)) {
//            throw new ExistedException("工作空间；" + workspaceName);
//        }
//
//        return geoServerRESTPublisher.createWorkspace(workspaceName);
//    }
//
//    /**
//     * 通过名称 和 URI 创建工作空间
//     *
//     * @param workspaceName 工作空间名称
//     * @param uri           URI名称
//     * @return 是否创建成功
//     * @throws Exception 工作空间不存在
//     * @throws Exception URI 格式或链接错误
//     */
//    public Boolean createWorkspace(String workspaceName, String uri) throws Exception, Exception {
//        if (!reader.existsWorkspace(workspaceName)) {
//            throw new Exception(workspaceName);
//        }
//
//        return geoServerRESTPublisher.createWorkspace(workspaceName, new URI(uri));
//    }
//
//    /**
//     * 删除工作空间
//     *
//     * @param workspaceName 要删除的工作空间名称
//     * @return 删除工作空间是否成功
//     * @throws Exception 工作空间不存在
//     */
//    public Boolean removeWorkspace(String workspaceName) throws Exception {
//        if (!reader.existsWorkspace(workspaceName)) {
//            throw new Exception(workspaceName);
//        }
//
//        return geoServerRESTPublisher.removeWorkspace(workspaceName, true);
//    }

}